using System;

namespace DesertPaintLab
{
	[System.ComponentModel.ToolboxItem(true)]
	public partial class PaintSwatch : Gtk.Bin
	{
		PaintColor color;
		
		public PaintColor Color
		{
			get
			{
				return color;
			}
			
			set
			{
				color.Red = value.Red;
				color.Green = value.Green;
				color.Blue = value.Blue;
				colorBox.ModifyBg(Gtk.StateType.Normal, new Gdk.Color(color.Red, color.Green, color.Blue));
				rgbLabel.Text = color.Red.ToString() + ", " +
					            color.Green.ToString() + ", " +
						        color.Blue.ToString();
				colorNameLabel.Text = Palette.FindNearest(color);
			}
			
		}
		
		public PaintSwatch ()
		{
			color = new PaintColor();
			this.Build ();
		}
		
		public void Clear()
		{
			color.Clear();
			colorBox.ModifyBg(Gtk.StateType.Normal, new Gdk.Color(color.Red, color.Green, color.Blue));
			rgbLabel.Text = "???, ???, ???";
			colorNameLabel.Text = "Unknown";
		}
		
	}
}

